Remote access gateway configurable control system

ABSTRACT

A remote access gateway configurable control system. There may be a series of control commands to set or adjust a gateway device&#39;s running parameters and modify the behavior of the device or start process action. There may be configuration commands for remote control of the device and server commands for unattended devices.

This application is a continuation of U.S. patent application Ser. No.14/827,157, filed Aug. 14, 2015, which is a continuation of U.S. patentapplication Ser. No. 13/621,159, filed Sep. 15, 2012, now U.S. Pat. No.9,122,255, issued Sep. 1, 2015. U.S. patent application Ser. No.14/827,157, is hereby incorporated by reference. U.S. patent applicationSer. No. 13/621,159, filed Sep. 15, 2012, is hereby incorporated byreference.

BACKGROUND

The present disclosure pertains to control, storage, reporting andselection systems. Particularly, the disclosure pertains to acommunication system using a gateway device for expanding a userinterface.

SUMMARY

The disclosure reveals a remote access gateway configurable controlsystem. There may be a series of control commands to set or adjust agateway device's running parameters and modify the behavior of thedevice or start process action. There may be configuration commands forremote control of the device and server commands for unattended devices.

BRIEF DESCRIPTION OF THE DRAWING

FIG. 1 is a diagram of a gateway device and components outside thedevice;

FIG. 2 is a diagram of items interacting with the gateway device;

FIG. 3 is a diagram of components incorporated in the gateway device;

FIG. 4 is a diagram of a sequence for the mailbox mechanism;

FIG. 5 is a diagram of a gateway and hosts;

FIG. 6 is a diagram showing an example of a round robin sequence;

FIG. 7 is a diagram of a mailbox setup;

FIG. 8 is a diagram showing some details of an RF region enrollment anduser interface;

FIG. 9 is a diagram of a message handler;

FIG. 10 is a diagram of a house domain and an internet domain;

FIG. 11 is a diagram of a gateway structure;

FIG. 12 is a diagram of transmission of thermostat user interfaceupdates from a host domain;

FIG. 13 is a diagram showing a way that a user on the web can change athermostat setpoint and have a message sent to the gateway;

FIG. 14 is a diagram of a service application structure or architecture;

FIG. 15 is a diagram of a facility having wireless connections betweenthe gateway device and hosts;

FIG. 16 is a diagram of a gateway in a house wirelessly connected tohosts in several zones;

FIG. 17 is a diagram of a table that reveals command descriptions;

FIG. 18 is a diagram of a table showing a response/report having aheader showing fields, bits, name and description;

FIG. 19 is a diagram of a table showing an example of a deviceinformation response;

FIG. 20 is a diagram of a table showing a structure of a managementcommand message;

FIG. 21 is a diagram of a table showing a structure for encapsulatinginformation to be sent to a service; and

FIGS. 22a-22r are diagrams of schematics for hardware in the presentsystem.

DESCRIPTION

There may be remote access gateway configurable control. The gatewaydevice may be an embedded computer with a limited user interface. Thedevice may have, for example, just one button and three LED's. Achallenge may be to configure the device and remotely command the deviceto change its behavior (i.e., registration, reset, get information,change of operations, and so on). The present approach may permit aninstaller or user to remotely configure the gateway device as needed andmodify the behavior of the device remotely by a server application. Theapproach may also permit control of a gateway start process action at auser's command. This may help the installer and users to setup orcontrol more than one device at a time, reduce the cost for managing thegateway, and make the configuration much easier to achieve.

The present approach may provide for development of a series of controlcommands to set or adjust the gateway running parameters and modify thebehavior of the device, or start a process action. There may beconfiguration commands to control a device remotely. Server commands maybe used for unattended devices, with no maintenance.

For instance, a device may be able to set up a ping rate to modify theping behavior of the gateway and/or prevent it from sending messages.This capability may be used to reduce traffic from gateways that are notregistered to a particular user. It may also be used when a gateway hasbeen compromised due to hacking. It may be able to reset the gatewayremotely to avoid doing it on the device by removing the power. It maybe able to get gateway device information and current running statusremotely and provide a server or user for an application. The commandoperation may also be used for data transmission, like sending a newsoftware version to the gateway device.

Since the gateway may be done for remote access of the home HVAC device,one may build a web server application to operate the home HVAC device.It may adopt the web server application and integrate the gateway devicecontrol page to provide an installer or user an ability to operate thehome HVAC device. Also, the gateway may need to add software capabilityfor a command response. When the gateway receives the commands from theweb application, it may need to act upon the command definition andrespond to the server whether it executes a command successfully or not.

There may be an asynchronous reporting mechanism for a remote device inan HVAC environment. When HVAC equipment fails as part of a systeminstalled in a house, an error reporting message may be propagated inthe house to a central device with a display to alert the home owner. Ifthe system is connected to a remote access gateway, the information mayalso be displayed to a user but only when the user connects to itsaccount. The user may need to be alerted urgently. A communicationmedium may be required when an event is needed to be sent to the serverwithout the user being on its account. Without this, the user may needto be online to see the alert. To resolve this issue, an asynchronousmessage may be required to be sent to the server.

Using gateway information (i.e., device address), the report informationmay be sent to the user account and then using a second messaging mediumdirectly to the user messaging device, e.g., email or cellular phoneshort message service (SMS). An asynchronous message may be sent by adevice without user intervention or request.

This asynchronous message may include the gateway device address, theequipment identification and the source message. A unique destinationserver may need to be defined so that virtually all messages will besaved in a message database. The service application on the accountserver may parse all of these messages and take action depending on theuser configuration for asynchronous events.

When the gateway receives an equipment failure indication, the messagemay be sent inside an asynchronous message to the server so it canprocess it. The server may receive it and use the gateway address, thedevice identification and the message name to select the action to take.

If the message needs to be sent to the house owner, it may send it usingthe configured messaging type (email or SMS). Then, when the user logsinto its account, an alert may be present and inform the user of aproblem in the home HVAC system.

There may be a mailbox data storage mechanism for a remote device in anHVAC environment. For an intelligent HVAC system, various HVAC devicesmay work together by communicating with each other through theirspecific “language” (i.e., HVAC communication protocol). A remote accessgateway device may provide the remote accessibility from other systemsto this HVAC system, for example, access to the HVAC information throughethernet. This may require the gateway device to provide the informationtranslation and transmission capabilities between the different systems.There may always be the latency issue for a communication betweendifferent systems. The present approach may provide a better userexperience when the user accesses the information to an HVAC systemremotely by implementing the mailbox data storage mechanism in a gatewaydevice.

The mechanism may be different relative to the usual gateway devicemechanism which simply forwards the command and response between twosystems. It may provide a mailbox-like data storage mechanism on theremote gateway device.

The device may act as a citizen of the HVAC system, collect the systeminformation regularly and maintain a copy of latest data locally, whichcan be used to respond to the external access requests in time at anymoment. The device may limit the latency for external access and improvethe user experience. The mailbox may help to satisfy multipleinterfaces.

The mechanism may also introduce an auto update capability which cansend the HVAC system information changes to another system automaticallyonce it detects there is a change. The auto update capability may helpreflect a change to an external system in time, and help reduce thetraffic between different systems because the device can detect thechanged section of data automatically and transmit only the change orchanges to others.

Another benefit from this mechanism may be that it makes the gatewaydevice more extendable from an architecture perspective. A usual gatewaydevice may provide communication capability between two differentsystems. But the gateway device with mailbox data storage may extendthis capability to N systems (where N>2) because of intelligent logichardware and software in the system.

The mailbox data storage mechanism may collect the latest HVACinformation regularly, respond to the external command with local dataimmediately, and transmit the changed data out once it is detectedthere. One may note FIG. 4 with a diagram of a sequence for the mailboxmechanism.

There may be a remote gateway round robin lock mechanism. Marketingrequirements may state that a remote gateway needs to communicate to,for instance, four devices or hosts. The whole system may make the userfeel that the gateway communicates with multi-hosts synchronously. Butthe current RF technology cannot necessarily communicate with four RFhosts synchronously. To resolve this issue, it may be required to designa new mechanism (e.g., lock mechanism) in the gateway for the RFinterface. By using this mechanism, the user may feel that the gatewaywould communicate with multi-hosts synchronously, and information fromeach host may be updated in a timely fashion.

A round robin with a lock mechanism may be created to solve thesynchronization issue. The gateway may communicate with only one RF hostat a time. There may be a lock mechanism during round robin, which mayhelp service a user request from the cloud to one specific host.

If there is no command from the server (by a remote user) for a specifichost, the gateway may switch to communicate to another RF host. Thegateway may stay synchronous to the current RF host for a specificperiod of time and then move to the next RF host. This may permit thegateway to capture the host current status information, such as actualtemperature for a thermostat device.

When the gateway is enrolled or linked to more than one RF host, thenthe round robin mechanism may be started. This may enable the gateway tosynchronize the RF communication to the first host in the sequence. Thegateway may query this host information for the period allowed relativeto this synchronization. Then the gateway may change the synchronizationto the following host in the sequence and then send an RF message tothat host.

This process may continue until a user logged on the server performs amodification on one of the hosts linked to the remote gateway. Thegateway may then interrupt the round robin sequence to performsynchronization to the host to change. Synchronization may be maintainedfor a specific time. When the synchronization period is over, a quickscheduling period may be started to cycle the other hosts so that thegateway can get status information of the other RF hosts in the sequencewithin a limited amount of time.

A complete sequence cycle time may be limited, so the actual statusinformation of each RF host can be collected within an acceptableperiod. For a project, the cycle may be set to 15 minutes. So that maygive 225 seconds to the gateway to get virtually all of the changes andactual status from one host in a configuration where there are fourhosts linked in the RF network. These times and the number of hosts areillustrative examples. FIG. 6 is a diagram showing an example of a roundrobin sequence.

Another version of a round robin for the gateway system may be utilized.The word “lock” may have a similar meaning as the words “suspend state”.“Suspend state” may mean that the system suspends the normal round robinand syncs to a specific host or group to implement a change. Gettingupdates from all of the hosts within 15 minutes is not necessarily avery strict requirement. Other periods of times for getting updates maybe implemented.

The gateway system may continuously work on a high priority task anddelay or reject the other low priority tasks within a predefined limitedtime period. A lock for a service request to ensure the least full loopround robin within 15 minutes is not necessarily a must-have mechanism(i.e., round robin lock).

Highlights of another version of the round robin may incorporate the“round robin lock” and the quick round state being removed. This versionmay have the round robin suspend state. A suspend state may justimplement the service request, but will not necessarily do all of thenormal round queries for group information and/or will not necessarilyconsider the group to have been rounded.

A round robin order may start from a smallest index of the group whichhas not been rounded. Only when the gateway has queried groupinformation and has been stayed with that group for a round robinperiod, it may be considered as rounded. For example, with hosts orgroups 1, 2, 3, 4, the gateway may get updates from group 2 and receivea service request to switch to group 4. The gateway may return to group2 to finish the normal round robin, and then go through groups 3 and 4,one by one.

An example of round robin timings may incorporate a normal round robinperiod of 225 seconds, a round robin suspend period for a change requestof 160 seconds, and a round robin suspend period for a query request of75 seconds. For a specific application of round robin, these timeperiods may be adjusted.

FIG. 1 is a diagram of a gateway device 11 and its interactions outsidethe device. Device 11 may have a one-way asynchronous connection with arouter 12 and a two-way synchronous connection with router 12. Theone-way connection may be for a reporting message. The two-wayconnection may be for commands to the gateway device and forconfiguration control. Router 12 may extend the connection to aninternet cloud 13. Cloud 13 may be connected to a web user component 14and a smart phone user component 15. The connection to cloud 13 mayincorporate a house broadband. Gateway device 11 may have a connectionto an external network 16. Device 11 may have connections to numeroushosts, such as for example, HVAC equipment 17 and heating equipment 18.Other hosts may also be connected to device 11. The connections may beto hosts 17 and 18 via RF communications. Connections to the hosts maybe made one at a time with a round robin among the hosts. Round robinmay be effected by gateway device 11. Device 11 may also incorporatemailboxes which are interfaced with various networks.

FIG. 2 is a diagram of additional items in a system. There may be ahouse 21 with gateway 11 and router 12. Hosts 19, such as thermostats,an outdoor air sensor 20 and a remote thermostat 29, may have RFconnections to gateway 11. Router 12 may connect gateway 11 to internetcloud 13. Internet cloud 13 may provide connections to variousapplicators 22 such as smart phone component 15, web user component 14,iPad™ 24, and so forth. Cloud 13 may provide a connection to a serverinfrastructure (or server) 23 incorporating communications, databases,application servers, and so forth.

FIG. 3 is a diagram of components incorporated in gateway 11. Thegateway may incorporate a microprocessor 31 which is a core processorfor the gateway to run application software. Processor 31 may beconnected to a crystal 32 for a master clock. An SDRAM 33 may beconnected to processor 31 for application program running. Processor 31may be connected to a debug unit 34 which is used for factory testcommunication and a debugging information output. A user interface unit35 may be connected to processor 31. Unit 35 may incorporate a button 36which is dedicated for RF enrollment and compliance with an enrollmentinterface specification. Unit 35 may also incorporate, for instance, sixtriple color LED's 37 which indicate gateway working status, powerindication and ethernet status indication.

Processor 31 may be connected to an RF module 38. Module 38 mayincorporate an RF radio control micro 39 with RF toolkit softwarerunning on the micro to provide RF communication capability. Micro 39may have toolkit software 41 which is responsible for RF communicationand communicates with the main processor 31 via a UART port for RFevents and messages. Micro 39 may also have a BSL 42 for a programminginterface during a field upgrade. Module 38 may have an RF transceiver43 which is responsible for RF signal transmission and receiving, andconnected to micro 39. Two antennas 44 may be connected to transceiver43.

Processor 31 may be connected to a PHY chip 45 which in turn isconnected to an ethernet jack 46 for plug-in in an ethernet cable.Processor 31 may also be connected to a serial flash 47 used to store acustomized bootloader 48, gateway application software image 49, factorydata 51, RFTK image 52, application run data (NVM) 53, and other itemsas needed. Bootloader 48 may be run after startup, read a tag of aprogram image and decide which image should be the one from which tostart. Factory data 51 may incorporate a media access control (MAC)identification (ID), an encryption key, hardware revision, andmanufacture and test information from the factory. RFTK image 52 may beused for an RF radio module 38 field upgrade. The image 52 may bedownloaded from ethernet and then programmed into the RF micro 39 in thefield.

A power supply 54 may provide power requirements for components ofgateway device 11. Supply 54 may be powered with an external 5 VDCadapter. An external reset circuit 55 may be used as a backup solutionfor device 11 recovery. A ZigBee module 56 may incorporate a modulespace, test pins and a serial port, if needed, for device 11.

FIG. 4 is a diagram of a message sequence of a mailbox at device 11. Areport 64 may be sent by a message owner 61 to a mailbox 62. If data haschanged in report 64 in comparison with data in a possible reportalready at the mailbox 62, then report 64 may be forwarded to a messageconsumer 63. If data has not changed in report 64 in comparison withdata in a possible report already at mailbox 62, then report 64 is notnecessarily forwarded to message consumer 64. An action may then be “setdata valid/no further action” 60. A change 65 may be provided back bymessage consumer 63 to mailbox 62. Change 65 may be forwarded frommailbox 62 to message owner 61, with “set change request flag”. A report66 may be sent from message owner 61 to mailbox 62. Report 66 may beforwarded with “clear change request flag” to message consumer 63. Aquery 67 may be sent from message consumer 63 to mailbox 62 as towhether the data of the report 66 is valid. If the data is valid, then aresponse with a report 68 may be sent from mailbox 62 to messageconsumer 63. If the data is invalid, then a query 69 may be sent frommailbox 62 to message owner 61. A report 70 to mailbox 62 may be sent bymessage owner 61. Mailbox 62 may forward report 70 with “set data valid”to message consumer 63.

FIG. 5 is a diagram of a gateway 75 and four hosts (#1, #2, #3, #4) 71,72, 73, 74, respectively, to which gateway 75 may individually sync whencommunicating. Gateway 75 may maintain a group list of the hosts withitems group ID, wireless apparatus revision and communication status(e.g., in sync, OK, error or so forth) for round robin operation. Also aservice 76 may be provided.

At a startup 77, at an action 80, gateway 75 may sync to host 71. Ifthere is a communication error, then group status may be set to comm.error, and gateway 75 may go to the next host at action 78. If there isa synchronization with host 71, then there may be a communication 79.Gateway 75 may send a query residential network protocol (RNP) message81 to host 71. If there is a communication error, then a message flagmay be set to invalid and group status be set to comm. error, andgateway 75 may go to the next host at action 82. If message 81 or reportis received, then an RNP report 83 may be sent to gateway 75. Gateway 75may update its mailbox and send a change to service 76, if there is one,at action 84.

Gateway 75 may next sync to host 72 at an action 85. Gateway 75 mayproceed through actions and/or steps like those of 78, 79, 81, 82, 83and 84 with respect to host 71. After host 72, gateway 75 may similarlyproceed with hosts 73 and 74 with like actions and/or steps like thoserelative to hosts 71 and 72, including syncs 86 and 87, respectively.Gateway 75 may return to host 71 with a sync action 80. The sync-ingwith hosts 71-74 may be performed in a round robin fashion. The timespent by gateway 75 with a host may be a round robin cycle perioddivided by the number of hosts.

The round robin cycle may be interrupted or suspended at an action 91 byservice 76 wherein data session is open at item 88. There may be achange request to, for example, host 73 during the round robin cycleperiod, particularly if gateway 75 is not in synch with host 73, at anaction 89. A sync to host 73 and a change may be forwarded to host 73 atan action 92 for a temporary sync period from actions 92 to 93. Uponcompletion of a communication from gateway 75 to host 73, round robinmay be resumed with an action 93.

FIG. 6 is a diagram of a round robin process which may be appliedrelative to gateway 75 and hosts 71-74 relative to synchronouscommunications in FIG. 5. At a startup 95, a number (N) hosts, whichgateway 75 is enrolled with, may be indicated at a symbol 96. If N>1,then an approach in symbol 97 may begin at initial 98. Normal schedulingat symbol 99 may be an action or step to be taken. The time or intervalof time for gateway 75 to be in sync with a host may be, for example,225 seconds as an interval. A total time to be spent with all of thehosts during one round robin cycle may for instance be 15 minutes. Thus,an interval may be the cycle divided by a number of hosts, which in anillustrative example could be four, resulting in a 225 second interval.The cycle time and the number of hosts may be different than those ofthe example provided herein. If an interrupt is required, then the syncto the specific host may be suspended as indicated at symbol 101. In acase of interrupt to round robin, a change to the other host may bereceived via a data session, and a query to the other host and mailboxmay be invalid, as noted in symbol 102. Along indication 103, there maybe a 75 second duration from a last change to the present host or aminimum time for a quick schedule left where an error code is sent tothe data service. There may be a quick scheduling for unscheduled hostsat symbol 104. A power interrupt at indication 105 may go to symbol 101for suspending the sync to the specific host at symbol 104. 75 secondsmay be indicated for other unscheduled hosts at an action item 106. Onan indication 107 to symbol 99, for normal scheduling, all unscheduledhosts for the present round may have been scheduled.

In a case at symbol 108 where N<=1, round robin may be deemed inactive.N>1 may mean a signal from symbol 108 to round robin active at symbol97, and N=1 may mean a signal from symbol 97 to round robin inactive atsymbol 108. An exception in FIG. 6, according to symbol 109 is relativeto a service change request coming but not responded to yet, and theremay be another query from the service and the mailbox has not validdata.

FIG. 7 is a diagram of a mailbox setup. A mailbox 111 may have an RNPdata interface at symbol 112 with output connections to RNP data setupat symbol 113, an interface to a server infrastructure (or server) atsymbol 114 and to interface to RFCC at symbol 115. The interface to theserver infrastructure at symbol 114 may have an output connection totransmit a queued transport protocol message at symbol 116 and an inputconnection from a process transport protocol message at symbol 117.Symbols 116 and 117 may be incorporated by a transport protocol messagehandler at symbol 118.

Interface to RFCC at symbol 115 may have an output connection to roundrobin mngr at symbol 119 and an input connection from RFCC RNP msgs atsymbol 121. Symbol 119 may be incorporated by RF link enrollment and auser interface at symbol 122. Symbol 121 may be incorporated by an RFlink message handler at symbol 123.

FIG. 8 is a diagram showing some details of the RF link enrollment anduser interface in symbol 122 of FIG. 7. Round robin mngr at symbol 119may have an output connection to an RF enroll at symbol 124 which iswithin symbol 122. RF enroll of symbol 124 may have an output connectionto a gateway enroll support at symbol 125 within symbol 122. RF enrollat symbol 124 may also have output connections to transmit a queuedtransport protocol message at symbol 116 of the message handler atsymbol 118, NVM app data storage at symbol 126, RFCC at symbol 127, anLED at symbol 128 and a button at symbol 129. Gateway enroll support atsymbol 125 may have an output connection to an RF serial at symbol 131.Board support at symbol 132 may incorporate an LED at symbol 128, thebutton at symbol 129 and RF serial at symbol 131. Process the transportprotocol message at symbol 117 may have an output connection to symbol114 having interface to a server infrastructure of mailbox 111. Aninterface to RFCC at symbol 115 of mailbox 111 may have an outputconnection to round robin mngr at symbol 119.

FIG. 9 is a diagram of a transport protocol message handler at symbol118 having additional details relative to the transport protocol messagehandler at symbol 118 of FIG. 8. Process the transport protocol messageat symbol 117 may have an output connection to transmit the queuedtransport protocol message at symbol 116, an output connection tointerface to a server infrastructure at symbol 114 of mailbox 111, anoutput connection to queue data session rev'd transport protocol data atsymbol 134, and an output connection to queue from the transportprotocol at symbol 135 incorporated by a program image manager at symbol136.

Transmit queued the transport protocol message at symbol 116 may have anoutput connection to queue data for the transport protocol async atsymbol 137, an output connection to build a transport protocol messageat symbol 138, an output connection to queue for the transport protocolat symbol 139, and an output connection to v st at symbol 141 which isincorporated by server infrastructure (reused code) at symbol 142.

Transmit queued transport protocol message at symbol 116 may have aninput connection from process transport protocol message at symbol 117,an input connection from queue data for transport protocol async atsymbol 137, an input connection from interface to a serverinfrastructure at symbol 114, an input connection from RF enroll atsymbol 124 within an RF link at symbol 122, and an input connection froma transmit transport protocol checkin message at symbol 143.

A program image manager of a symbol 144 may be incorporated, along withsymbols 135 and 139, by symbol 136 for the program image manager, andmay have an output connection to queue for a transport protocol atsymbol 139 and an output connection to a queue from the transportprotocol at symbol 135.

Data for a transport protocol at symbol 145 may have an input connectionfrom queue for a transport protocol at symbol 139 and an outputconnection to program image manager at symbol 144. Data from a transportprotocol at symbol 146 may have an input connection from queue from atransport protocol at symbol 135 and an output connection to programimage manager at symbol 144.

Components that represent the data entity-queue may incorporate g queuedata session rev'd transport protocol data at symbol 134, g queue from atransport protocol at symbol 135, g queue data for a transport protocolasync at symbol 137 and g data for transport protocol at symbol 139.

FIG. 10 is a diagram of a house domain at symbol 151 and an internetdomain at symbol 152. The diagram may display the gateway in itsoperational environment where data are collected from devices in alocation (e.g., a building) and sent to an internet-connected client.Internet clients may incorporate web browsers, smart phones, and soforth. The gateway domain of operation may be the location where it isinstalled. Within the location, the different devices that the gatewaycan connect to may be RF link enabled devices.

The server infrastructure may collect data from the gateway using aninternet link. The data may be kept in a gateway owner's account andmight be accessed using internet clients.

In the domain at symbol 151, a thermostat at symbol 153 may have anoutput connection to a gateway at a symbol 154. A zoning device panel atsymbol 155 may have an output connection to the gateway at symbol 154.An EIM RF link host at symbol 156 may have an output connection to thegateway. Devices at symbol 157, such as an RF enabled thermostat, mayhave an output connection to the EIM RF link host at symbol 156. Thegateway at symbol 154 may have a two-way connection with an in-housebroadband router at symbol 158. There may be a two-way connectionbetween the router at symbol 158 and a server infrastructure at symbol159 within the internet domain at symbol 152. The server may have anoutput connection to a web browser at symbol 161 and an outputconnection to a smart phone at symbol 162.

FIG. 11 is a diagram of a gateway structure. Major modules of thestructure may incorporate a mailbox, an ethernet, RF link and a userinterface. Mailbox components may incorporate data storage which keepsin a memory a data structure (i.e., RNP messages). The mailbox modulemay keep a message class instance in a volatile memory. Only updates ofthe message class should be sent to a server. By doing so, the gatewaymay stay efficient in usage of the server and not necessarily sendduplicate messages. The mailbox may perform a communication link betweenthe components in the gateway. Mailbox components may incorporate twointerfaces to the ethernet and the RF link modules so that the mailboxcan stay decoupled and reusable.

An ethernet interface block may incorporate the following noted modules.A message module and a server infrastructure module may be dedicated tothe transmission of network packets to the server. A serverinfrastructure subscriber may use a TCP/IP stack and encryption moduleto package the data before sending the packet using an ethernet driver.

RF link application components may be modules for enrollment and RNPmessage structure. These modules may be application specific and use anRF common code API module. The modules may ensure that the gateway isreliable in the RF link network. The common code may interface with theserial driver interface to communicate with the RF toolkit in the RFlink radio module.

A software application may also incorporate a module to interact with auser. An input may be performed using a button on a device. Software mayimplement an RF link enrollment function. Three LED's may give softwarefeature status indications to the user.

A user interface, having button and one or more LED's, at symbol 164 mayhave an output connection to an RF unique code enrollment handler atsymbol 165 and an output connection to a-server subscriber, including aserver SDK, at symbol 166. The RF unique code enrollment handler atsymbol 165 may have an NMP connection with RF common code at symbol 167.An RF code RNP message structure and handler at symbol 168 may have anRNP connection with the RF common code at symbol 167. The RF common codemay have a connection with a serial driver at symbol 169. The serialdriver may operate at an example 38.4 Kb/s, or at other frequencies. Theserial driver may have a connection to an RF link radio 171. The itemsat symbols 165 and 167-169 may be incorporated in an RF link module atsymbol 172.

The RF unique code RNP message structure and handler at symbol 168 mayhave an RNP connection to a mailbox interface to an RF link at symbol173. The mailbox interface to an RF link at symbol 173 may have an RNPconnection with mailbox data storage at symbol 174. A mailbox datastructure (e.g., data status, engine pointers, and so forth) may benoted. The mailbox data storage at symbol 174 may have an outputconnection to the mailbox structure at symbol 175. Mailbox data storageat symbol 174 may have an RNP connection to a mailbox interface to aserver infrastructure at symbol 176. The items at symbols 173-176 may beincorporated in a mailbox at symbol 177.

The mailbox interface to the server infrastructure at symbol 176 mayhave an RNP connection with a message parser and generator at symbol178. The message parser and generator may have a connection with theserver infrastructure subscriber (including server infrastructure SDK)at symbol 166. The alarm subscriber at symbol 166 may have an RNPconnection with a TCP/IP stack and encryption at symbol 179, which mayhave a connection with an ethernet driver at symbol 181. The ethernetdriver may have a connection with an ethernet card at symbol 182. Theitems at symbols 166, 178, 179 and 181 may be incorporated in theethernet module at symbol 183.

FIGS. 12 and 13 are diagrams of gateway communication approaches. Thegateway may be an RF link multi-system client which can be connected toup to four hosts in the present example. The gateway may be connected tomore or less than four hosts. The gateway may synchronize andcommunicate with one host at a time to receive and send messages. Theapproach here may be a round robin. The gateway may cycle through eachhost for a fixed period of time. A round robin may be interrupted when achange request is sent to a specific device linked to a host.

Messages may be sent by a service application using transport protocolpackets. Messages may be received by the mailbox interface, transformedand set on an RF link region. The mailbox may keep a copy of virtuallyall messages sent by RF link devices and may send only message updatesto the service application when data are modified.

The diagram of FIG. 12 displays a transmission of thermostat userinterface updates from a host domain 1. A message may be communicated upto a web. The diagram of FIG. 13 shows that a user on the web may changea thermostat setpoint and have a transport protocol message sent to thegateway. The round robin process may be interrupted to be synchronouswith the correct host. The gateway may send the message to a targeteddevice (i.e., messages 1.1 to 1.4). The thermostat may update thesetpoint and return a thermostat user interface data report to theservice (i.e., messages 1.5 to 1.7).

FIG. 12 is a diagram of a gateway communication up approach. A gateway185 may have a mailbox 186. A data request of a thermostat userinterface may go to a host domain 191 of an RF link region 187 if thehost domain 191 is in sync according to gateway 185. A report ofthermostat data for the user interface may go from the host domain 191to mailbox 186. Mailbox 186 may validate if message data has changedbefore sending the complete RNP to the service application. The RNP(thermostat data for the user interface) may proceed from mailbox 186via mailbox interface 188 to with a transport protocol link to serviceapplication communication layer 195. A display of a new temperature maybe provided to a web user 196. A round robin control 189 may sync to thenext host domain 192 for a fixed period of time, and redo the dataprocess as done for host domain 191, and again for host domain 193, andso on.

FIG. 13 is a diagram of a gateway communication down approach. A webuser 196 may change a setpoint on a zone, host domain 192. The changemay go to a service application communication layer 195. The change maygo with a transport protocol link as RNP thermostatic data to a mail boxinterface 188 and then to mailbox 186 of gateway 185. Also, frominterface 188, an interrupt round robin host 192 signal may go to roundrobin control 189. When a message RNP change request comes from thetransport protocol, the control may interrupt the round robin to sync onhost 192.

From mailbox 186, the change as thermostat user interface data may go tothe host domain 192. An RNP report may be returned from host domain 192to mailbox 186. The RNP report may proceed from mailbox 186 via mailboxinterface 188 with a transport protocol link to the service applicationlayer 195.

FIG. 14 is a diagram of a service application structure or architecture.A service application may incorporate a database, a web application andcommunication layers. A web module may interact with the web applicationto display information and receive action from button events. Thecommunication layers may be instanced in the service application whenuser activity opens a data session on a web interface. A data sessionmay be opened between the gateway and the service application using acheckin process. Virtually all messages may be sent through the datasession during a user session.

A database may be used when there is no data session between a gatewayand the service application. A synchronous message may be sent in thiscase. The messages may ensure that RF link reports are captured by theservice application much of the time.

In FIG. 14, a gateway 201 may incorporate a mailbox message 202. Datasession reports may flow from gateway 201 to a receive communicationlayer 206 of a service module 203. An async report may flow from gateway201 to a redirector database 205 of a redirector 204. A redirectorcheckin may be done to open a data session. The async report may flowfrom database 205 to the receive communication layer 206. An RNP messagemay flow from layer 206 to a service database 207 of service module 203.Parameter information may be obtained and provided to a web serviceapplication 208 of service module 203. A request may be sent from a webinterface 211 to the web service application 208. In response, displaydevice parameters may go to the web interface 211.

Service functions of web service application 208 may incorporate userauthorizations, gateway registration, and queries at a sessionestablishment. A background process of application 208 may incorporateemail, SMS of faults/alerts, upgrade downloads and monitoring, and soforth.

A query request proceed from web service application 208 to a transmitcommunication layer 209 of service module 203. An RNP change/queryrequest and a transport protocol command may then flow to gateway 201.

FIG. 15 is a diagram of a facility 215 having an IP link to an RF linkgateway 216. Gateway 216 may communicate wirelessly to an RF link hostsuch as a thermostat 219. A wireless router 218 may be connected to RFlink gateway 216 with an ethernet cable 217. Wireless control may beachieved via router 218, ethernet cable 217 and RF link gateway 216.Thermostat 219 may receive control signals and provide informationsignals to a gateway 216. Control may also be via items 225 such as, forexample, a laptop, a phone, a WiFi pad, or other items, and wirelesscontrol through internet router 218, cable 217 and gateway 216. Outdoorair sensor 221 may provide data to thermostat 219, and portable comfortcontrol 222 may operate thermostat 219. Thermostat 219 may have controlof air handler 223 and air conditioner 224.

Gateway 216 may communicate wirelessly with various hosts in facility orhome 215. A web site may show, for instance, four zones separately inFIG. 16. Three of the zones may be ones with thermostats 226, 227 and228, respectively. A fourth zone may one with a thermostat 219 wired toa zoning device with an RF link connected humidifier 229. Informationfrom thermostats 226-228 and 219 may then be wirelessly communicated tohosts by gateway 216.

Transport protocol service should implement commands in a commandmessage to operate and manage a gateway remotely. The commands maymodify the behavior of the device or start process action. No permanentitems are necessarily kept. Table 326 of FIG. 17 reveals commanddescriptions.

There may be different responses from a gateway. A header may be usedfor the response/reports. Table 327 of FIG. 18 shows a response/reporthaving a header showing fields, bits, name and description.

Table 328 of FIG. 19 may be an example of a device information response.A message structure may follow the header. The report structure may besent automatically from a gateway or after a request from the service.Such message would be sent only for the RF link type of device.

FIG. 20 is a diagram of a table 334 showing a structure of a managementcommand message which may reveal the basic approach for sending commandsto a device and performing management.

Table 341 of FIG. 21 reveals a structure for encapsulating RF linkinformation to be sent to a transport protocol service. The structuremay be repeated for each RNP (residential network protocol) message in adata payload.

The service application should have a command to reset a particulargateway device. A device reset may reset CPUs. When the device is reset,the service may log an event.

The service application should have a command to request a particulargateway to stop sending transactions to the service. Sending checkinpackets may be resumed after a local reset.

The gateway should send a system configuration message at a sessionestablishment to inform the service of the system time and of the hoststatus and the domain ID. The message may be sent without a servicerequest by the gateway as a report.

Asynchronous messaging communication may be a communication approach fora gateway to inform the service using one message of information. Themessage cannot necessarily be sent from the service to one gateway.

An asynchronous packet may be sent by the gateway to a redirector servern a specific port to make the payload information available for theservice application. It may be a one-way message. The service cannotnecessarily send an asynchronous message to the gateway.

The gateway should use the transport protocol, encapsulated in anasynchronous structure to send a packet to the transport protocolservice application. The packet may be received by the redirector serverand be provided to the service application, using a database query. Whenthere is not a data session open, faults and errors may be sent using anasynchronous message.

FIGS. 22a-22r are diagrams schematics of hardware for the presentsystem. Designations in the Figures indicate connections among the itemsin the schematics. FIG. 22a is a diagram of a 32-bit microcontroller345. FIG. 22b is a diagram of the circuitry 346 of the LED indicatorsfor a gateway. Lines 347 and 348 in FIG. 22a are connected to lines 347and 348, respectively, in FIG. 22b . FIG. 22c is a diagram of a 32-bitmicrocontroller 349. FIG. 22d shows a chip (#015-91-0200) 351 which maybe connected to a 32 bit microcontroller 352 in FIG. 22e , via lines353, 354, 355, 356, 357 and 358 between FIGS. 22d and 22e . FIG. 22f isa diagram of components 359 which may be connected to the respectivelynoted terminals to the circuitry of the diagrams in FIGS. 22d and 22e .FIGS. 22g and 22h are diagrams of power supply circuitry 361 and 363,respectively. The circuitry 361 and 363 may be connected to each otherwith a line 362. FIG. 22i is a diagram of components 364 which may beconnected to the respectively noted terminals to the circuitry of thediagrams in FIGS. 22g and 22h . FIG. 22j is a diagram incorporating aDRAM 365 which may be pin compatible with an IS4ZVS16100E-10TLI(1.8V).FIG. 22k is a diagram incorporating a flash memory 366. FIG. 22l is adiagram incorporating an oscillator 367 and an ethernet PHY 368. FIG.22m is a diagram of a LED circuit 369. Circuit 369 may be connected toethernet PHY 368 via a line 371. FIG. 22n is a diagram of an interfacecircuit 372. Circuit 372 may be connected to ethernet PHY 368 via lines373, 374, 375, 376 and 377. FIG. 22o is a diagram of an antennacircuitry 378. FIG. 22p is a diagram of a 16-bit microcontroller 379.Antenna circuitry 378 of FIG. 22o and microcontroller 379 of FIG. 22pmay be connected by lines 381 and 382 between FIGS. 22o and 22p . FIG.22q is a diagram of circuitry 383 which is associated withmicrocontroller 379 of FIG. 22p and antenna circuitry 378. Lines 384 and385 of antenna circuitry of FIG. 22o are connected to lines 384 and 385of circuitry 383 of FIG. 22q via lines 384 and 385 in the diagram ofFIG. 22p . Circuitry 383 of FIG. 22q and microcontroller 379 of FIG. 22pare interconnected with lines 386, 391, 392, 393, 394, 395, 396, 397,398, 399, 401, 402, 403, 404, 405 and 406, as indicated in the diagramsof FIGS. 22p and 22q . FIG. 22r is a diagram of circuitry items 411which may be connected to other circuitry in one or more Figures ofFIGS. 22a -22 q.

To recap, a gateway control system for residential building equipmentmay incorporate a gateway device, heating, ventilation and airconditioning (HVAC) equipment connected to the gateway device, and aremote access mechanism connected to the gateway device and an internetcloud. Signals, for configuring and/or controlling the gateway, may beprovided from the internet cloud to the remote access mechanism.

Commands from a service application to the internet cloud may remotelyconfigure and/or control the gateway device and/or affect a behavior ofthe gateway device or start a process action. For each command, theservice application may receive a response.

A command may be selected from a group consisting of no command, reset,send ping set or stop, cause registration, encryption mode, sync tohost, device information, system configuration, clear fault,configuration file, firmware upgrade, stop parameter, and close datasession.

The service application may send a keep-alive message periodically toensure that a data circuit is kept open. The keep-alive message may besent even if there is a command pending for or from the gateway device.The keep-alive message may use a command with no data.

A mobile application may be transparent to the service applicationprotocol by providing similar behavior as the service applicationthrough a web session.

The gateway device may communicate wirelessly to a host. The host may bean item selected from a group consisting of thermostats, outdoorsensors, indoor sensors, and controllers for air handlers, airconditioners, heaters, and humidifiers.

The gateway device may have communications with a server. Thecommunications may incorporate one or more data sessions and/or anasynchronous message. When a session is opened to activate a gatewaydevice, a service application may request a data session to send aregistration command. Successful registration may be declared when thegateway device has received a registration command with a registrationflag from the service application. A check-in process for a pending datasession may be virtually always active to ensure that the serviceapplication can request a data session. An exception may be when theservice application sends a command to stop the check-in process.

The service application may send a data session request to a serverinfrastructure to establish a connection between the gateway device andthe server. The data session request may incorporate a command, a mediaaccess control (MAC) identification (ID) and an expiration type of thedata session request.

The system may further incorporate an item selected from a groupconsisting of a phone, web page, an electronic communication pad, acomputer, a network, and so on. The item may be connected to theinternet cloud. The item may provide commands to the gateway device.

An approach for gateway control for residential equipment mayincorporate providing a gateway device, connecting heating, ventilationand air conditioning (HVAC) equipment to the gateway device, andconnecting a remote access mechanism to the gateway device, an internetcloud and a network. Signals for configuring and/or controlling thegateway may be provided from the internet cloud or network to the remoteaccess mechanism. Commands from a service application to the internetcloud may remotely configure and/or control the gateway device and/oraffect a behavior of the gateway device or start a process action. Foreach command, the service application should receive a response.

A command may be selected from a group consisting of no command, reset,send ping set or stop, cause registration, encryption mode, sync tohost, device information, system configuration, clear fault,configuration file, firmware upgrade, and close data session.

The service application may send a keep-alive message periodically toensure that a data circuit is kept open. The keep-alive message may besent even if there is a command pending for or from the gateway device.The keep-alive message may use a command with no data.

The gateway device may communicate wirelessly to a host. The host may bean item selected from a group consisting of thermostats, outdoorsensors, indoor sensors, and controllers for air handlers, airconditioners, heaters, and humidifiers.

The approach may further incorporate an item selected from a groupconsisting of a phone, web page, an electronic communication pad, acomputer and a network. The item may be connected to the internet cloud.The item may provide commands to the gateway device.

A gateway control system for residential equipment may incorporate agateway device and heating, ventilation and air conditioning (HVAC)equipment connected to the gateway device. The gateway may be connectedto a network. Signals, for configuring and/or controlling the gateway,may be provided from the network. Commands from a service application tothe network may remotely configure and/or control the gateway device,and/or affect a behavior of the gateway device or start a processaction.

The system may further incorporate a service application that controlsthe gateway to perform specific operations by service applicationcommands based on a protocol via the network. A stop parameter for acommand may turn off transmission from the gateway by disabling thegateway. Disabling an encryption mode may be performed using a command.

The system may further incorporate an item selected from a groupconsisting of a phone, web page, an electronic communication pad, and acomputer. The item may be connected to the network. The item may providecommands via the network to the gateway device.

In the present specification, some of the matter may be of ahypothetical or prophetic nature although stated in another manner ortense.

Although the present system and/or approach has been described withrespect to at least one illustrative example, many variations andmodifications will become apparent to those skilled in the art uponreading the specification. It is therefore the intention that theappended claims be interpreted as broadly as possible in view of therelated art to include all such variations and modifications.

What is claimed is:
 1. A gateway device for controlling datatransmission for a plurality of heating, ventilation, and airconditioning (HVAC) systems, the gateway device comprising: a storagemechanism configured to store: current status information of componentsof the plurality of HVAC systems; a synchronous schedule; and aninterrupt schedule; and a lock mechanism operatively coupled to thestorage mechanism and configured to access the synchronous schedule forestablishing a data transmission link with each of the plurality of HVACsystems for updating the components of the plurality of HVAC systems andcapture the current status information of the components, wherein uponreception of an interrupt signal the lock mechanism is furtherconfigured to: suspend the synchronous schedule and access the interruptschedule for establishing the data transmission link with at least oneof the plurality of HVAC systems for updating a component of the atleast one of the plurality of HVAC systems and capturing the currentstatus information of the component; and automatically send the currentstatus information to another system of the plurality of HVAC systems.2. The gateway device of claim 1, wherein the interrupt signal is sentfrom a web application to update the component of the at least one ofthe plurality of HVAC and the interrupt schedule instructs the lockmechanism to update the component.
 3. The gateway device of claim 1,wherein the interrupt signal is sent from the at least one HVAC systemthat the component has been updated and the interrupt schedule instructsthe lock mechanism to capture the current status information of thecomponent.
 4. The gateway device of claim 1, wherein the interruptsignal comprises a call to the interrupt schedule included in thesynchronous schedule and the interrupt schedule instructs the lockmechanism to automatically update the plurality of HVAC systems thathave an update available, capture the current status information for theupdated HVAC systems, and stored to the current status information inthe storage mechanism.
 5. The gateway device of claim 1, wherein theinterrupt signal is sent from the at least one HVAC system that thecomponent has failed and the interrupt schedule instructs the lockmechanism to attempt to fix the component and send a message to remotedevice when the attempt to fix the component has failed.
 6. The gatewaydevice of claim 5, wherein the request is sent from a web application ona server that is operatively coupled to the gateway device.
 7. Thegateway device of claim 5, wherein the request is sent from a remotedevice.
 8. The gateway device of claim 1, wherein the lock mechanism isfurther configured to receive a request for current status informationof at least one component of a particular HVAC system of the pluralityof HVAC systems and automatically access the current status informationof the at least one component of the particular HVAC system from thestorage mechanism.
 9. The gateway device of claim 1, wherein thesynchronous schedule instructs the lock mechanism to establish the datatransmission link for a set time with each of the plurality of HVACsystems.
 10. The gateway device of claim 1, wherein the interruptschedule provides a priority ranking when multiple components need to beupdated.
 11. A gateway device for controlling data transmission for aplurality of Heating, ventilation, and air conditioning (HVAC) systems,the gateway device comprising: a storage mechanism configured to store:current status information of components of the plurality of HVACsystems; a synchronous schedule; and an interrupt schedule; and a lockmechanism operatively coupled to the storage mechanism and configured toaccess the synchronous schedule for establishing a data transmissionlink with each of the plurality of HVAC systems for updating thecomponents of the plurality of HVAC systems and capture the currentstatus information of the components, wherein upon reception of arequest for current status information of a set of HVAC systems of theplurality of HVAC systems, the lock mechanism is further configured to:suspend the synchronous schedule and access the interrupt schedule forestablishing the data transmission link with at least one HVAC systemfrom the set of HVAC systems for capturing the current statusinformation of a component of the at least one HVAC system; store thecurrent status information of the component in the storage mechanism;and send the current status information of the set of HVAC systems. 12.The gateway device of claim 11, wherein the interrupt schedule providesidentification of the component of the at least one HVAC system that hasrecently been updated but the current status information of thecomponent stored in the storage mechanism does not yet reflect theupdate.
 13. The gateway device of claim 11, wherein the request for thecurrent status information is sent from a web application on a serverthat is operatively coupled to the gateway device.
 14. The gatewaydevice of claim 11, wherein the request for the current statusinformation is sent from a remote device.
 15. The gateway device ofclaim 11, wherein the synchronous schedule instructs the lock mechanismto establish the data transmission link for a set time with each of theplurality of HVAC systems.
 16. A system for controlling datatransmission for a plurality of Heating, ventilation, and airconditioning (HVAC) systems, the system comprising: a server including aweb application; and a gateway device operatively coupled to the serverand including: a storage mechanism configured to store: current statusinformation of components of the plurality of HVAC systems; asynchronous schedule; and an interrupt schedule; and a lock mechanismoperatively coupled to the storage mechanism and configured to accessthe synchronous schedule for establishing a data transmission link witheach of the plurality of HVAC systems for updating the components of theplurality of HVAC systems and capture the current status information ofthe components, wherein upon reception of an interrupt signal the lockmechanism is further configured to: suspend the synchronous schedule andaccess the interrupt schedule for establishing the data transmissionlink with at least one of the plurality of HVAC systems for updating acomponent of the at least one of the plurality of HVAC systems andcapturing the current status information of the component; andautomatically send the current status information to another system ofthe plurality of HVAC systems.
 17. The system of claim 16, wherein theinterrupt signal is sent from the web application to update thecomponent of the at least one of the plurality of HVAC and the interruptschedule instructs the lock mechanism to update the component.
 18. Thesystem of claim 16, wherein the interrupt signal is sent from the atleast one HVAC system that the component has been updated and theinterrupt schedule instructs the lock mechanism to capture the currentstatus information of the component.
 19. The system of claim 16, whereinthe interrupt signal comprises a call to the interrupt schedule includedin the synchronous schedule and the interrupt schedule instructs thelock mechanism to automatically update the plurality of HVAC systemsthat have an update available, capture the current status informationfor the updated HVAC systems, store to the current status information inthe storage mechanism, and send the current status information to theweb application.
 20. The system of claim 16, wherein the lock mechanismis further configured to receive a request for current statusinformation of at least one component of a particular HVAC system of theplurality of HVAC systems from the web application and automaticallyaccess the current status information of the at least one component ofthe particular HVAC system from the storage mechanism.
 21. The system ofclaim 16, wherein the synchronous schedule instructs the lock mechanismto establish the data transmission link for a set time with each of theplurality of HVAC systems.